package zhongbo.java.air.monitor.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 说明：
 *
 * @author 钟波dellNotebook
 * @since 2025年04月08日 星期二 03:19:18
 */
@Data
@ApiModel("每日航迹活动统计")
@TableName("air_flight_activity_daily")
public class FlightActivityDaily {

    @ApiModelProperty(value = "主键ID")
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    @ApiModelProperty(value = "ICAO 24位地址码", required = true, example = "7800A1")
    private String icaoCode;

    @ApiModelProperty(value = "统计日期（按自然日）", required = true, example = "2023-10-25")
    private Date date;

    @ApiModelProperty(value = "首次出现时间", required = true, example = "2023-10-25T08:00:00Z")
    private Date firstSeenTime;

    @ApiModelProperty(value = "最后出现时间", required = true, example = "2023-10-25T18:30:00Z")
    private Date lastSeenTime;

    @ApiModelProperty(value = "最后出现纬度", example = "39.9042")
    private Double lastLatitude;

    @ApiModelProperty(value = "最后出现经度", example = "116.4074")
    private Double lastLongitude;

    @ApiModelProperty(value = "最后高度（米）", example = "8000")
    private Integer lastAltitude;

    @ApiModelProperty(value = "最后地速（节）", example = "450")
    private Integer lastSpeed;

    @ApiModelProperty(value = "最后航向（0-359度）", example = "180")
    private Integer lastHeading;

    @ApiModelProperty(value = "当日出现次数统计", example = "15")
    private Integer occurrenceCount;

    @ApiModelProperty(value = "飞机注册号", required = true, example = "B-1234")
    private String registration;

    @ApiModelProperty(value = "所属航空公司", required = true, example = "中国国际航空")
    private String airline;

    @ApiModelProperty(value = "机型", required = true, example = "B737-800")
    private String aircraftType;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss SSS", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间", example = "2023-10-25 18:35:00")
    private Date createdTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss SSS", timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间", example = "2023-10-25 18:35:00")
    private Date updatedTime;

}
